Имя программы NetBios имя TestApp1 #define LOCALNAME "MYNET1" TestApp2 #define LOCALNAME "MYNET2"Кроме того в файлы добавленна ссылка на библиотеку conio.h
#include "conio.h"И реализованна задержка завершения программы до нажатия на клавишу.
........ cout << pStatus->name_count << endl; cout << "Canсel" << endl; getch(); }Запустите и завершите программу по очереди. Вы увидите только одно NetBios имя. А вот теперь запустите TestApp1 и не завершая выполнения TestApp2. У Вас должна быть примерно такая картина.
Как видите имя живет и здравствует всем врагам назло до завершения программы.
Еще на что хочу обратить Ваше вимание это на то, как мы с Вами формировали это имя. Первое - мы завели константу.
#define LOCALNAME "MYNET2"Вычислили её длину.
i_strlen = strlen(LOCALNAME);Проверили длину на соотвествие константе длины NCBNAMSZ и если длина больше, то уменьшили до константы длины.
if (i_strlen > NCBNAMSZ) i_strlen = NCBNAMSZ;Это константа описана в файле NB30.H
#define NCBNAMSZ 16 /* absolute length of a net name */При заполении NCB имя помещается в ncb_name. Сначала заполняем буфер пробелами на положенную длину memset, потом копируем туда имя memcpy.
memset (ncb1.ncb_name, ' ', NCBNAMSZ); memcpy (ncb1.ncb_name, LOCALNAME, i_strlen);
И вуаля - имя готово. Надо бы сделать из этого процесса нармальную процедуру типа GenerateNetBiosName;